<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    var data = [
      {id:"01", name: "张大大", pid:"", job: "项目经理"},
      {id:"02", name: "小亮", pid:"01", job: "产品leader"},
      {id:"03", name: "小美", pid:"01", job: "UIleader"},
      {id:"04", name: "老马", pid:"01", job: "技术leader"},
      {id:"05", name: "老王", pid:"01", job: "测试leader"},
      {id:"06", name: "老李", pid:"01", job: "运维leader"},
      {id:"07", name: "小丽", pid:"02", job: "产品经理"},
      {id:"08", name: "大光", pid:"02", job: "产品经理"},
      {id:"09", name: "小高", pid:"03", job: "UI设计师"},
      {id:"10", name: "小刘", pid:"", job: "前端工程师"},
      {id:"11", name: "小华", pid:"04", job: "后端工程师"},
      {id:"12", name: "小李", pid:"04", job: "后端工程师"},
      {id:"13", name: "小赵", pid:"05", job: "测试工程师"},
      {id:"14", name: "小强", pid:"05", job: "测试工程师"},
      {id:"15", name: "小涛", pid:"", job: "运维工程师"}
    ]


    /* 使用递归函数实现树形数据处理 */
    function  tranListToTreeData(data,pid=''){
      var arr=[]
      data.forEach(item=>{
        /* 先要找出第一级 */
        if(item.pid===pid){
          /* 找二级 */
         var  children= tranListToTreeData(data,item.id)
        //  console.log(children,8888);
         if(children.length){
          // 将二级添加到一级
          item.children=children
         }
         // 收集一级
          arr.push(item)
        }
      })
      return arr
    }
    console.log(tranListToTreeData(data),9999);
  </script>
</body>
</html>